package com.vans.practice.executors;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * @Description:
 *  测试newFixedThreadPool的内存溢（OOM），因为其底层使用的是blockingQuene（不指定大小则是无界队列，大小为 Integer.MAX_VALUE，不断添加线程，把内存玩死）
 *  所以应该避免使用Executors来创建线程池， 采用guava提供的ThreadFactoryBuilder来创建线程池
 * @Note: 不要运行下面的代码， 我的cpu受不了
 * @Author elle
 * @Date 2020/10/4 11:58
 */
public class ExecutorsTest {
    private static ExecutorService executorService = Executors.newFixedThreadPool(15);

    public static void main(String[] args) {
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            executorService.execute(new SubTask());
        }
    }
}

